;:sys36864
	;.opt oo
	*= 49152
old	=$eb48
	lda #<new
	ldy #>new
	sta 655
	sty 656
	lda #<hi
	ldy #>hi
	jmp $ab1e
hi	.byte "\x93\x11  *** 64 key v1 c64  (c) nh-030590 ***"
	.byt 13,13
	.byte " von nikolaus heusler  ein nss-programm"
	.byt 13,0
last	brk
tab1	.byt 41,62,38,39,18,14,21,55,26,33,42,17,34
	.byt 37,13,22,30,31,20,10,36,9,57,12,25,23,28,29,53
	.byt 1,51,49,46,43,40,54,48,47,44,2,7,0,45,50
	.byt 4,5,6,3,-1
tab2	.byt 23,66,31,2,6,0,1,25,33,5,72,73,9,13
	.byt 68,35,55,69,71,70,74,18,3,30,12,7,41,16,27,14
	.byt 28,15,32,34,10,26,21,39,41,20,19,11,59,56
	.byt 53,54,52,67
new	lda 212
	beq evtl
nix	lda #64
	sta last
	jmp old
evtl	lda $d8
	bne nix
	lda 203
	cmp last
	beq foul
	lda 653
	and #4
	beq nix
	lda 203
	cmp 197
	beq nix
	ldy #-1
loop1	iny
	lda tab1,y
	bmi nix
	cmp 203
	bne loop1
	ldx tab2,y
	ldy #-1
	txa
	beq loop3
loop2	iny
	lda $a09e,y
	bpl loop2
	dex
	bne loop2
loop3	iny
	lda $a09e,y
	bmi loop4
	sta 631,x
	inx
	bne loop3
loop4	and #127
	sta 631,x
	inx
	stx 198
	lda 203
	sta last
foul	lda #64
	sta 203
	sta 197
	jmp old
